package com.homwork.Collection_learn.Collection;

import com.homwork.Bean.Pay;
import org.junit.Test;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

public class Collection_test {
       @Test
      public void Test1(){
              ArrayList arrayList = new ArrayList();
           /**
            *  add()增加集合里面的元素
            */
           arrayList.add ("nihao1");
              arrayList.add(1);
           /**
            * 错误原因
            * lombok中
            * 使用@Data创建的构造器，他的访问权限修饰符默认是public
            * 如何在使用@Build，他会覆盖掉访问权限，使得构造器他的修饰符为private
            * 会生成一个 全参数构造器，并禁用无参构造器（即使类中没有 final 字段）
            */
           Pay.PayBuilder builder = Pay.builder();
           /**
            * 增强for，底层仍然是迭代器
            * 增强for,可理解为简化版的迭代器
            */
           System.out.println("增强for");
           arrayList.add(builder);
           for (Object o : arrayList) {
               System.out.println(o);
           }
//           /**
//            * size() 返回元素个数
//            */
//           int size = arrayList.size();
//           System.out.println(size);
//           /**
//            * .get(int size) 返回列表中指定位置的元素，index从零开始。
//            */
//           Object o = arrayList.get(2);
//           System.out.println(o);
//           /**
//            * .set(int i,Object element)使用元素element替换索引i位置的元素，并返回替换元素
//            */
//           arrayList.set(0,2);
//           System.out.println(arrayList.get(0));
//           /**
//            * clear 从列表中移除所有元素
//            */
//           arrayList.clear();
//           /**
//            * isEmpty 判断列表是否包含元素，不包含元素则返回true，否则返回flase
//            */
//           boolean empty = arrayList.isEmpty();
//           /**
//            * .contains(Object o) 如果列表指定包含某个元素，返回trye
//            */
//           boolean contains = arrayList.contains(2);
//           /**
//            * remove(int index) 移除列表中指定位置的元素，并返回被删元素，删除位置后面的元素（如果有）向前移动。
//            * 返回值是移除的数
//            */
//           Object remove = arrayList.remove(1);
//           /**
//            *remove(Object o)从List集合中移除第一次出现的指定元素，移除成功则返回true，否则返回false。
//            * 当且仅当List集合中含有满足（o==null ? get(i)==null : o.equals(get(i)))条件的最低索引i的元素时才会返回true。
//            */
//           arrayList.remove("nihao");
//           /**
//            * .iterator()返回按适当顺序在列表的元素上进行迭代的迭代器
//            */
           Iterator iterator = arrayList.iterator();
           /**
            * 利用迭代器去遍历
            * 使用快捷键 itit
            */
//           System.out.println("迭代器去遍历元素");
//            while(iterator.hasNext()){
//                System.out.println(iterator.next());
//            }


           /**
            *
            */
           List<Object> objects = new ArrayList<>();
           objects.add(1);
           objects.add(2);
           objects.add(3);
           objects.toArray();

       }
}
